home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d4 / iq.arc / NUMBERS3.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-11-13  |  4.2 KB  |  109 lines

  1. 10  KEY OFF:KEY(10) ON:ON KEY(10) GOSUB 660:KEY(9) ON:ON KEY(9) GOSUB 420:DIM S(25):FOR I=1 TO 25:S(I)=I:NEXT I:COLOR 3,0,8
  2. 20  CLS:T=0:N=0:GOSUB 1070:FOR I=1 TO 100:SWAP S(INT(RND*25+1)),S(INT(RND*25+1)):NEXT I
  3. 30  CLS:LOCATE 1,34:COLOR 0,7:PRINT" IQ Builder ":COLOR 11,0
  4. 40  LOCATE 2,35:PRINT"Numbers 3":COLOR 0,11
  5. 50  LOCATE 4,21:PRINT CHR$(201);
  6. 60  FOR J=1 TO 35
  7. 70    PRINT CHR$(205);
  8. 80    IF J > 35 GOTO 100
  9. 90    NEXT J
  10. 100  PRINT CHR$(187)
  11. 110  LOCATE 5,21:PRINT CHR$(186);:PRINT"Press <F9> to skip to next section.";
  12. 120  PRINT CHR$(186)
  13. 130  LOCATE 6,21:PRINT CHR$(186);:PRINT"Press <F10> to return to main menu.";
  14. 140  PRINT CHR$(186)
  15. 150  LOCATE 7,21:PRINT CHR$(200);
  16. 160  FOR J=1 TO 35
  17. 170    PRINT CHR$(205);
  18. 180    IF J > 35 GOTO 200
  19. 190    NEXT J
  20. 200  PRINT CHR$(188):COLOR 3,0
  21. 210  LOCATE 9,1:PRINT"There are 25 series to solve in this lesson.  You'll get three chances to"
  22. 220  PRINT"solve each one.  If you're having trouble, the computer will give you a hint."
  23. 230  FOR I=1 TO 100:SWAP S(INT(RND*25+1)),S(INT(RND*25+1)):NEXT I:XX=1:N=S(XX)
  24. 240  RESTORE
  25. 250  IF N>1 THEN FOR O=1 TO N-1:READ A,B,C,D,E,F,G,H,I,J,K,A$:NEXT O:Q=N-1
  26. 260  READ A,B,C,D,E,F,G,H,I,J,K,A$
  27. 270  T=T+1:Q=Q+1
  28. 280  PRINT:PRINT"Series" Q:COLOR 3,0:PRINT
  29. 290  PRINT"Enter the next two numbers in this series, separating them with a comma:"
  30. 300  PRINT:GOSUB 750:PRINT:COLOR 3,0
  31. 310  COLOR 3,0:INPUT "The next two numbers are: ",X,Y
  32. 320  Y1=CSRLIN:X1=POS(0)
  33. 330  IF (X=I)*(Y=J) THEN 380
  34. 340  Z=Z+1:IF Z=3 THEN 370
  35. 350  IF Z=2 THEN GOSUB 680:GOTO 310
  36. 360  LOCATE 25,1:PRINT SPC(79);:PLAY "mfn27n20t32":LOCATE 25,1:COLOR 11,4:PRINT"No!  Try again.";:COLOR 3,0:TIMEOUT=3:GOSUB 1040:LOCATE 25,1:PRINT SPC(79);:LOCATE Y1-1,X1+25:PRINT SPC(6):LOCATE ,X1:GOTO 310
  37. 370  PLAY "mbn26n20t35":PRINT:COLOR 11,4:PRINT"No!  The answer is:  " I "," J;:GOTO 400
  38. 380  IF Z=0 THEN R=R+1
  39. 390  LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT"Right!";:TIMEOUT=3:GOSUB 1040:LOCATE 25,1:PRINT SPC(79);:LOCATE Y1,X1
  40. 400  XX=XX+1:Z=0
  41. 410  IF XX<26 THEN S=S(XX):GOSUB 1030:GOTO 230
  42. 420  COLOR 11,4:LOCATE 1,1:PRINT SPC(33):LOCATE 1,45:PRINT SPC(35)
  43. 430  LOCATE 2,1:PRINT SPC(33):LOCATE 2,45:PRINT SPC(35)
  44. 440  LOCATE 3,1:PRINT SPC(79)
  45. 450  LOCATE 4,1:PRINT SPC(20):LOCATE 4,58:PRINT SPC(22)
  46. 460  LOCATE 5,1:PRINT SPC(20):LOCATE 5,58:PRINT SPC(22)
  47. 470  LOCATE 6,1:PRINT SPC(20):LOCATE 6,58:PRINT SPC(22)
  48. 480  LOCATE 7,1:PRINT SPC(20):LOCATE 7,58:PRINT SPC(22)
  49. 490  LOCATE 8,1:PRINT SPC(79)
  50. 500  LOCATE 9,1:PRINT SPC(79)
  51. 510  LOCATE 10,1:PRINT SPC(79)
  52. 520  COLOR 11,4:GOSUB 1030:PRINT:COLOR 3,0:LOCATE 15,17
  53. 530  IF N<3 THEN COLOR 11,0:PRINT"You didn't give me much of a chance, did you?":GOTO 600
  54. 540  PRINT"You scored" R "right out of" T "or" INT(100*R/T) "percent."
  55. 550  IF R/T<0.6 THEN LOCATE 18,21:PRINT"I'll bet you do better next time.":TIMEOUT=7:GOSUB 1040:RUN
  56. 560  LOCATE 18,34:IF R/T<=0.8 THEN PRINT"Good score!":GOTO 600
  57. 570  IF R/T<=0.9 THEN PRINT"Very good!":GOTO 600
  58. 580  IF R/T<=0.99 THEN PRINT"Excellent!":GOTO 600
  59. 590  COLOR 19,0:PRINT"Brilliant!"
  60. 600  COLOR 3,0:LOCATE 25,1:PRINT "Press space bar to continue.";
  61. 610  IN$=INKEY$:IF IN$="" THEN 610 ELSE GOTO 670
  62. 620  GOSUB 1030:N=S(XX)
  63. 630  RESTORE
  64. 640  IF N>1 THEN FOR O=1 TO N-1:READ A,B,C,D,E,F,G,H,I,J,K,A$:NEXT O:Q=N-1
  65. 650  GOTO 260
  66. 660  SYSTEM
  67. 670  RUN "SYNONYM1
  68. 680  PLAY "mbn24n19t35":LOCATE 25,1:COLOR 0,4:PRINT"No!  Hint: ";:GOSUB 1040
  69. 690  IF K=1 THEN PRINT"The numbers change by their rule " A$;
  70. 700  IF K=2 THEN PRINT"Look for more than one rule.  One rule is " A$;
  71. 710  IF K=3 THEN PRINT"The amount of change gets " A$ " each time.";
  72. 720  IF K=4 THEN PRINT"Alternating series.  One rule is " A$;
  73. 730  IF K=5 THEN PRINT"Look for groups of " A$ " numbers.";
  74. 740  GOSUB 1040:LOCATE Y1-1,X1+25:PRINT SPC(6):LOCATE ,X1:RETURN
  75. 750  PRINT:COLOR 4,11:LOCATE ,23:PRINT "VARPTR" STRING$(32,"SOUND") "COLOR"
  76. 760  LOCATE ,23:PRINT "CALL";:COLOR 11,4:PRINT A B C D E F G H;:COLOR 4,11:PRINT "CALL"
  77. 770  LOCATE ,23:PRINT "CLS" STRING$(32,"SOUND") "'":PRINT:RETURN
  78. 780  DATA 10,10,10,11,11,11,12,12,12,13,4,+1
  79. 790  DATA 13,18,24,31,39,48,58,69,81,94,3,greater
  80. 800  DATA 11,10,15,14,19,18,23,22,27,26,2,-1
  81. 810  DATA 13,10,15,10,16,10,18,10,19,10,4,+2
  82. 820  DATA 56,55,53,50,46,41,35,28,20,10,3,greater
  83. 830  DATA 11,12,13,16,17,24,25,40,41,72,2,* 2
  84. 840  DATA 12,16,20,24,28,32,36,40,44,48,1,+4
  85. 850  DATA 17,26,34,41,47,52,56,59,61,60,3,less
  86. 860  DATA 14,17,19,22,24,27,29,32,34,37,2,+3
  87. 870  DATA 11,19,13,17,15,15,17,13,19,11,4,-1
  88. 880  DATA 13,14,18,16,17,18,19,20,18,22,4,+0
  89. 890  DATA 11,11,21,12,12,22,13,13,23,14,4,+1
  90. 900  DATA 42,39,36,33,30,27,24,21,18,15,1,-3
  91. 910  DATA 11,12,14,17,21,26,32,39,47,56,3,greater
  92. 920  DATA 19,14,18,13,17,12,16,11,15,10,4,-1
  93. 930  DATA 12,15,18,18,21,24,24,27,30,30,2,+3
  94. 940  DATA 12,13,15,18,22,27,33,40,48,57,3,greater
  95. 950  DATA 11,20,28,35,41,46,50,53,55,54,3,less
  96. 960  DATA 10,12,17,19,24,26,31,33,38,40,2,+5
  97. 970  DATA 14,10,17,12,23,14,32,16,44,18,4,+2
  98. 980  DATA 10,11,17,18,24,25,31,32,38,39,2,+1
  99. 990  DATA 5,2,6,4,8,5,9,7,11,8,4,+1 +2
  100. 1000  DATA 11,14,16,17,17,16,14,11,7,2,3,less
  101. 1010  DATA 7,9,8,10,9,11,10,12,11,13,4,-1
  102. 1020  DATA 1,2,5,5,9,8,13,11,17,14,4,+3
  103. 1030  FOR Y=11 TO 24:LOCATE Y,1:PRINT SPC(79);:NEXT Y:LOCATE 11,1:RETURN
  104. 1040  TIMEOUT$=TIME$:TIME2=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  105. 1050  TIMEOUT$=TIME$:TIME3=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  106. 1060  IF TIMEOUT > TIME3 - TIME2 THEN 1050 ELSE RETURN
  107. 1070  RNDTIME$=TIME$:RNDVAL=VAL(LEFT$(RNDTIME$,2))*120+VAL(MID$(RNDTIME$,4,2))*60+VAL(RIGHT$(RNDTIME$,2)):RANDOMIZE RNDVAL:RETURN
  108. 1080  IKEY$=INKEY$:IF IKEY$="" THEN 1080 ELSE RETURN
  109.